Products and processes for managing the prices of vending machine inventory

ABSTRACT

According to one embodiment of the disclosed invention, an apparatus determines a current price of a product for sale by the vending machine. It then determines, for the product, a price increment, a predetermined price, and a demand threshold, that are defined by data stored in at least one data table. A rate of units of the product that are sold are determined. The rate is compared with the demand threshold. Based on the comparison of the rate with the demand data, it is determined whether the new price should be greater than or less than the current price. The new price is set to the predetermined price if the new price should be greater than the current price. If the new price should be less than the current price, a price increment amount is subtracted from the current price to yield the new price. The determined new price is displayed.

The present application claims the benefit of priority of the following U.S. Provisional Patent Applications, each of which is incorporated herein by reference:

-   -   U.S. Provisional Patent Application No. 60/511,875 entitled         “METHOD AND APPARATUS FOR DYNAMICALLY MANAGING VENDING MACHINE         INVENTORY PRICES”, filed Oct. 16, 2003; and     -   U.S. Provisional Patent Application No. 60/527,988 entitled         “APPARATUS, SYSTEM AND METHOD FOR ESTABLISHING MULTI-TRANSACTION         RELATIONSHIPS WITH VENDING MACHINE CUSTOMERS”, filed Dec. 9,         2003.

The present application is a continuation-in-part of each of the following U.S. patent applications, each of which is incorporated herein by reference:

-   -   (i) U.S. patent application Ser. No. 08/947,798 entitled “METHOD         AND APPARATUS FOR DYNAMICALLY MANAGING VENDING MACHINE INVENTORY         PRICES”, filed Oct. 9, 1997;     -   (ii) U.S. patent application Ser. No. 10/095,372 entitled         “METHOD AND APPARATUS FOR VENDING A COMBINATION OF PRODUCTS”,         filed Mar. 11, 2002, which was published as US 2002/0161653 A1         on Oct. 31, 2002; and     -   (iii) U.S. patent application Ser. No. 09/218,085 entitled         “METHOD AND APPARATUS FOR VENDING PRODUCTS”, filed Dec. 22,         1998; and     -   (iv) U.S. patent application Ser. No. 09/345,092, entitled         “VENDING MACHINE SYSTEM AND METHOD FOR ENCOURAGING THE PURCHASE         OF PROFITABLE ITEMS”, filed Jun. 30, 1999.

CROSS REFERENCE TO RELATED APPLICATIONS

The present application is related top the following commonly-owned, co-pending U.S. patent applications, each of which is incorporated herein by reference:

-   -   (i) U.S. patent application Ser. No. 10/951,296 entitled “METHOD         AND APPARATUS FOR DEFINING AND UTILIZING PRODUCT LOCATION IN A         VENDING MACHINE”, filed Sep. 27, 2004; and     -   (ii) U.S. patent application Ser. No. 10/902,397 entitled         “PRODUCTS AND PROCESSES FOR VENDING A PLURALITY OF PRODUCTS”,         filed Jul. 29, 2004.

BACKGROUND

Conventional vending machines are automated, and thus can provide several benefits to sellers. For example, a vending machine can sell products at places where human sales people and face-to-face retailing efforts are not practical (e.g. the lobby of an office building); and a vending machine can sell products at times that are inconvenient for traditional retailers (e.g. 3 AM on a Tuesday morning). However, conventional vending machines do not permit the flexibility enjoyed by human retailers in dynamically responding to changes in supply and demand.

Applicants have previously recognized that significant benefits ensue from vending machines configured to dynamically respond to market forces. For example, Applicants' co-pending U.S. patent application Ser. No. 08/947,798 entitled METHOD AND APPARATUS FOR DYNAMICALLY MANAGING VENDING MACHINE INVENTORY PRICES, filed Oct. 9, 1997, provides several benefits, such as the automated, dynamic pricing of products sold via a vending machine, in which the pricing is based on stored rules that can consider up-to-date supply and demand data gathered when no human salesperson is present (e.g., during the sales period prior to a restock date).

Further, Applicant's co-pending U.S. patent application Ser. No. 10/095,372 entitled METHOD AND APPARATUS FOR VENDING A COMBINATION OF PRODUCTS, filed Mar. 11, 2002, provides several benefits, such as the automated, dynamic configuration of promotional product combinations based on supply and demand data.

Further, Applicant's co-pending U.S. patent application Ser. No. 09/218,085 entitled METHOD AND APPARATUS FOR VENDING PRODUCTS, filed Dec. 22, 1998, provides several benefits, such as automatically selecting products for customers based on supply and demand data.

Further, Applicant's co-pending U.S. patent application Ser. No. 09/345,092, entitled VENDING MACHINE SYSTEM AND METHOD FOR ENCOURAGING THE PURCHASE OF PROFITABLE ITEMS, filed Jun. 30, 1999, provides several benefits, such as presenting offers for substitute products based on supply and demand data.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a perspective view of a vending machine according to one embodiment of the present invention;

FIG. 2 is a schematic block diagram illustrating the components of the vending machine according to one embodiment of the present invention;

FIG. 3 is a schematic block diagram illustrating the components of the processing module of the vending machine of FIG. 2;

FIG. 4 is a table illustrating the structure of n authorization table stored in the memory of the vending machine of FIG. 2;

FIGS. 5A-5C are a table illustrating the structure of an price management table stored in the memory of the vending machine of FIG. 2;

FIGS. 6A-6B is a flow chart illustrating the computer implemented steps used to set a product price upon stocking the vending machine of FIG. 2;

FIGS. 7A-7C are a flow chart illustrating the computer implemented steps used to set a product price after a product purchase at the vending machine of FIG. 2;

FIGS. 8A-8B are a flow chart illustrating the computer implemented steps used to set a product price at the vending machine of FIG. 2 according to a predetermined schedule;

FIG. 9 is a schematic block diagram illustrating a network embodiment of the present invention.

DETAILED DESCRIPTION

Numerous embodiments are described in this patent application, and are presented for illustrative purposes only. The described embodiments are not intended to be limiting in any sense. The invention is widely applicable to numerous embodiments, as is readily apparent from the disclosure herein. Those skilled in the art will recognize that the present invention may be practiced with various modifications and alterations. Although particular features of the present invention may be described with reference to one or more particular embodiments or figures, it should be understood that such features are not limited to usage in the one or more particular embodiments or figures with reference to which they are described.

The terms “an embodiment”, “embodiment”, “embodiments”, “the embodiment”, “the embodiments”, “one or more embodiments”, “some embodiments”, and “one embodiment” mean “one or more (but not all) embodiments of the present invention(s)” unless expressly specified otherwise.

The terms “including”, “comprising” and variations thereof mean “including but not limited to”, unless expressly specified otherwise.

The enumerated listing of items does not imply that any or all of the items are mutually exclusive, unless expressly specified otherwise.

The terms “a”, “an” and “the” mean “one or more”, unless expressly specified otherwise.

Devices that are in communication with each other need not be in continuous communication with each other, unless expressly specified otherwise. In addition, devices that are in communication with each other may communicate directly or indirectly through one or more intermediaries.

A description of an embodiment with several components in communication with each other does not imply that all such components are required. On the contrary a variety of optional components are described to illustrate the wide variety of possible embodiments of the present invention.

Further, although process steps, method steps, algorithms or the like may be described in a sequential order, such processes, methods and algorithms may be configured to work in alternate orders. In other words, any sequence or order of steps that may be described does not necessarily indicate a requirement that the steps be performed in that order. The steps of processes described herein may be performed in any order practical. Further, some steps may be performed simultaneously.

It will be readily apparent that the various methods and algorithms described herein may be implemented by, e.g., appropriately programmed general purpose computers and computing devices. Typically a processor (e.g., a microprocessor) will receive instructions from a memory or like device, and execute those instructions, thereby performing a process defined by those instructions. Further, programs that implement such methods and algorithms may be stored and transmitted using a variety of known media.

When a single device or article is described herein, it will be readily apparent that more than one device/article (whether or not they cooperate) may be used in place of a single device/article. Similarly, where more than one device or article is described herein (whether or not they cooperate), it will be readily apparent that a single device/article may be used in place of the more than one device or article.

The functionality and/or the features of a device may be alternatively embodied by one or more other devices which are not explicitly described as having such functionality/features. Thus, other embodiments of the present invention need not include the device itself.

The term “computer-readable medium” as used herein refers to any medium that participates in providing data (e.g., instructions) which may be read by a computer, a processor or a like device. Such a medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media include, for example, optical or magnetic disks and other persistent memory. Volatile media include dynamic random access memory (DRAM), which typically constitutes the main memory. Transmission media include coaxial cables, copper wire and fiber optics, including the wires that comprise a system bus coupled to the processor. Transmission media may include or convey acoustic waves, light waves and electromagnetic emissions, such as those generated during radio frequency (RF) and infrared (IR) data communications. Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, DVD, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, an EPROM, a FLASH-EEPROM, any other memory chip or cartridge, a carrier wave as described hereinafter, or any other medium from which a computer can read.

Various forms of computer readable media may be involved in carrying sequences of instructions to a processor. For example, sequences of instruction (i) may be delivered from RAM to a processor, (ii) may be carried over a wireless transmission medium, and/or (iii) may be formatted according to numerous formats, standards or protocols, such as Bluetooth, TDMA, CDMA, 3G.

Where databases are described, it will be understood by one of ordinary skill in the art that (i) alternative database structures to those described may be readily employed, (ii) other memory structures besides databases may be readily employed.

The present invention can be configured to work in a network environment including a computer that is in communication, via a communications network, with one or more vending machines. The computer may communicate with the vending machines directly or indirectly, via a wired or wireless medium such as the Internet, LAN, WAN or Ethernet, Token Ring, or via any appropriate communications means or combination of communications means. Each of the vending machines may comprise computers, such as those based on the Intel® Pentium® or Centrino™ processor, that are adapted to communicate with the computer. Any number and type of machines may be in communication with the computer.

Communication between the vending machines and the computer, and among the vending machines, may be direct or indirect, such as over the Internet through a Web site maintained by computer on a remote server or over an on-line data network including commercial on-line service providers, bulletin board systems and the like. In yet other embodiments, the vending machines may communicate with one another and/or the computer over RF, cable TV, satellite links and the like.

Some, but not all, possible communication networks that may comprise the network or be otherwise part of the system include: a local area network (LAN), a wide area network (WAN), the Internet, a telephone line, a cable line, a radio channel, an optical communications line, and a satellite communications link. Possible communications protocols that may be part of the system include: Ethernet (or IEEE 802.3), SAP, ATP, Bluetooth™, and TCP/IP. Communication may be encrypted to ensure privacy and prevent fraud in any of a variety of ways well known in the art.

Those skilled in the art will understand that vending machines and/or computers in communication with each other need not be continually transmitting to each other. On the contrary, such vending machines and/or computers need only transmit to each other as necessary or desirable, and may actually refrain from exchanging data most of the time. For example, a vending machine in communication with another machine via the Internet may not transmit data to the other machine for weeks at a time.

In an embodiment, a server computer may not be necessary or desirable. For example, the present invention may, in one or more embodiments, be practiced on a stand-alone vending machine and/or a vending machine in communication only with one or more other vending machines. In such an embodiment, any functions described as performed by the server computer or data described as stored on the server computer may instead be performed by or stored on one or more vending machines.

In other embodiments, a vending machine may be in communication with a remote computer, such as a server, that provides the vending machine with and/or receives from the vending machine, e.g., all or some of the data described herein. Thus, in certain embodiments, the server may comprise certain elements or portions of certain elements such as a data storage device/memory.

In such an embodiment, the remote computer could be accessible, directly or indirectly, via a second computer (communicating over the Internet or other network) by a customer or operator. Accordingly, a customer or operator of the second computer could communicate with the remote computer via a Web browser. The second computer could, e.g., receive from the remote computer messages described herein as being output by the vending machine, and/or transmit to the remote computer input described herein as being provided to the vending machine. Similarly, various data described herein as received through an input device of a vending machine may be received through a Web browser communicating with a remote server, which in turn communicates with the vending machine. Thus, an operator of the vending machine may have remote polling and reporting capabilities, may be able to transmit new business rules to the vending machine, and the like.

Various disclosed embodiments of the present invention permit the dynamic management of the price of a product in a vending machine.

Various embodiments of the present invention provides a method and apparatus to automatically and dynamically determine, adjust and manage product pricing in a vending machine to account for current market trends. According to a first aspect of the present invention, a method is disclosed for automatically managing a price of a product in a vending machine. The method includes the step of receiving a product identifier specifying the product. The method further includes the step of receiving inventory data. The inventory data can include the quantity of the product in the vending machine.

Next, the method includes the step of determining price management data associated with said product. The price management data can specify supply and/or demand data associated with the product. The method continues with the step of determining the price for the product, and storing the price management data and the price. This first method of managing inventory pricing is particularly useful if performed upon stocking the vending machine.

According to another aspect of the present invention, a second method is disclosed for automatically managing a price of a product in a vending machine. The second method includes the step of accessing price management data and/or the inventory data associated with the product. The inventory data and/or the price management data may be used, in part or in whole, to form the basis for the price in the step of determining the price of the product. The determined price is may be stored in a memory and/or may be displayed. This second method may be performed, e.g., in response to a particular event, such as a product sale, a change in the environment, or according to a schedule.

Many additional aspects are disclosed herein. Various products are disclosed for performing the steps of the respective methods disclosed herein.

Other features, advantages and embodiments are readily apparent from the detailed description when taken in connection with the accompanying drawings.

Apparatus Architecture

An embodiment of the method and system of the present invention will now be discussed with reference to FIGS. 1-8B. FIGS. 1-3 illustrate the components of one exemplary vending machine 100 including the features of the present invention. Although specific exemplary vending machine 100 is referred to throughout the detailed description, the present invention is directed to any automatic sales machine that allows payment to be exchanged for goods. Payment can be presented through a variety of media including, but not limited to, coins, bills and other currencies, magnetic stripe cards and smart cards (whether pre-paid or linked to an account), and identification codes (e.g., as provided through a keypad, provided via an RFID transmitter and receiver). FIG. 1 is a perspective view of vending machine 100; FIG. 2 is a schematic block diagram of vending machine 100; and FIG. 3 is a schematic block diagram of the processing module of vending machine 100.

The vending machine 100 may include many commercially-available casings/cabinets. For example, in snack machine embodiments, a suitable machine casing may comprise the 129 SnackShop™ manufactured by Automatic Products International, Ltd.™ of Saint Paul, Minn., which stands at 72″/1829 mm wide, has a width of 38⅞″/988 mm, and a depth of 35″/889 mm. Other suitable snack machine casings include the A La Carte™ machine from Automatic Products™, and the GPL SnackVendor™ model # 159 from Crane Merchandising Systems/Crane Co.™ of Stamford, Conn.

In beverage machine embodiments, machine cabinets commercially available from Dixie Narco™, Inc. of Williston, S.C. may be employed. Beverage machine cabinets may comprise a “cooler” or “glass front” style front panel, featuring a transparent front panel (e.g. glass) enabling customers to see inventory for sale. Alternatively, beverage machine casings may comprise a “bubble front” style front panel, featuring a decorative front panel, typically used to advertise a logo of a product manufacturer commercially interested in the vending machine's operation.

Other embodiments are contemplated as well, including combination snack and beverage vending machine embodiments, such as those available from Crain Co.™. Further details concerning the suitability of machine casing/cabinetry are well known in the art.

As shown, vending machine 100 may include one or more input devices 110 for receiving input from a customer indicating a product selection. Input device 110 may also be used for receiving input from an operator during stocking or maintenance of vending machine 100. Although input device 110, as illustrated, includes a set of alpha-numeric keys for providing input to vending machine 100, input device could include one or more of a selector dial, a set of buttons associated with a respective set of item dispensers, a motion sensor, a barcode reader, a Dual-Tone Multi-Frequency (DTMF) receiver/decoder, a wireless device (e.g. a cellular telephone or wireless Personal Digital Assistant), cameras, such as digital video and/or digital still photographic cameras, a voice recognition module, a fingerprint reader, a topical facial pattern scanner/reader, an iris or retinal scanner, a microphone, an infrared receiver, any device capable of receiving a command from a user and transmitting the command to a processor, and/or any conventional input device commonly employed by a vending machine designer. Further, vending machine 100 may include more than one input device 110. For example, vending machine 100 may include an exterior input device 110 for receiving customer input and an interior input device (not shown) for receiving operator input. In the illustrated embodiment, input device 110 receives input data from both operators and customers.

The vending machine 100 may further comprise one or more output devices. An output device may be operable to receive input from a customer, operator, or other person. Also, an output device may be operable to output product and/or other information to a customer or operator.

An output device may comprise, for example, one or more Liquid Crystal Displays (LCDs). An output device may comprise one or more Light Emitting Diodes (LEDs) displays (e.g., several alphanumeric LEDs on the shelves of a vending machine, each LED being associated with a row of product inventory). The price display 124 may provide the functionality of such LEDs.

In one embodiment, an LED display screen may be mounted to a vending machine (e.g., attached thereto, such as via bolts or other mounting hardware). Such a mounted LED display screen and may be used to communicate messages (described herein) to customers. A suitable LED display screen for such an embodiment may be housed in an aluminum case having a length of 27.5″, a height of 4.25″, and a depth of 1.75″. Such a display screen may have a display area capable of showing 13 alphanumeric and/or graphical characters. Further, such an LED display screen may comprise a serial computer interface, such as an RJ45/RS232 connector, for communicating with a processor, as described herein. Further still, such an LED display may be capable of outputting text and graphics in several colors (e.g., red, yellow, green).

Further, in some embodiments, an output device comprises a printer. In one embodiment, a printer is configured to print on card stock paper (e.g. 0.06 mm to 0.15 mm thickness), such as the EPSON EU-T400 Series Kiosk Printer. Further, a printer may be capable of thermal line printing of various alphanumeric and graphical symbols in various font sizes (e.g. raging from 9 to 24 point) on various types of paper. Additionally, such a printer may communicate with a processor (described herein) via an RS232/IEEE 12834 and/or bi-directional parallel connection. Such a printer may further comprise a 4 KB data buffer.

Additionally, in some embodiments, an output device comprises an audio module, such as an audio speaker, that outputs information to customers audibly. Speakers may comprise conventional speakers or modern hypersonic speakers.

Many combinations of input and output devices may be employed in accordance with embodiments of the present invention. For example, in embodiments which include touch screens, input and output functionality may be provided by a single device. As described, in some embodiments, a touch-sensitive screen may be employed to perform both input and output functions. Suitable, commercially available touch screens for use in accordance with the present invention are manufactured by Elo TouchSystems, Inc., of Fremont, Calif., such as Elo's AccuTouch series touch screens. Such touch screens may comprise: (i) a first (e.g., outer-most) hard-surface screen layer coated with an anti-glare finish, (ii) a second screen layer coated with a transparent-conductive coating, (iii) a third screen layer comprising a glass substrate with a uniform-conductive coating. Further, such touch screens may be configured to detect input within a determined positional accuracy, such as a standard deviation of error less than ±0.080-inch (2 mm). The sensitivity resolution of such touch screens may be more than 100,000 touchpoints/in² (15,500 touchpoints/cm²) for a 13-inch touch screen. For such touch screens, the touch activation force required to trigger an input signal to the processor (described herein) via the touch screen is typically 2 to 4 ounces (57 to 113 g). Additionally, touch screens for use in accordance with embodiments of the present invention may be resistant to environmental stressors such as water, humidity, chemicals, electrostatic energy, and the like. These and other operational details of touch screens (e.g., drive current, signal current, capacitance, open circuit resistance, closed circuit resistance, etc.) are well known in the art.

As shown, vending machine 100 may include a sensor 115 for sensing surrounding environmental conditions. In one embodiment, sensor 115 comprises a conventional temperature sensor configured to sense the local outdoor temperature or the external environmental temperature surrounding vending machine 100. Sensor 115 could include a receiver for receiving a local temperature from a weather service. In another embodiment, the sensor 115 may comprise a motion detector (e.g., which generates a signal when a physical body in proximity to the sensor moves above a certain rate of speed). Such input from a motion detector would be useful, e.g., in basing one or more price changes on “foot traffic” (people detected or estimated to be in the area of the vending machine) or changes in foot traffic (e.g., increases or decreases in the number of people per time detected or estimated to be in the area of the vending machine). For example, the foot traffic could be considered a proxy for demand, or another variable which together with other variables indicates demand. A large number of people in the area might, e.g., trigger an increase in price, impede a decrease in price.

In addition to or in lieu of a sensor, the vending machine may include an input device which allows a temperature (or other data) to be input, e.g., by an operator of the vending machine. Such an input device may comprise, e.g., a keypad or another know device which allows numeric input to be received by the vending machine.

Such an input device may be located such that only an authorized operator can access the input device. For example, the input device may be located inside a cabinet of the vending machine and accessible only upon unlocking the cabinet using a key. Alternatively or additionally, the input device may be located such that anyone can interact with the input device, but authorization is required to have the input entered or accepted. For example, the input device may require a valid authorization code to be entered, or a proper key to be inserted, before a temperature is accepted via the input device.

Vending machine 100 may also include one or more of several payment processing mechanisms which enable, e.g., receiving payment and/or dispensing change. Payment processing mechanisms include coin acceptor 112, bill validator 114, magnetic stripe reader 116 (or other card reader) and change dispenser 118. Magnetic stripe reader 116 is a conventional reader for reading data on the magnetic stripe of a credit or debit card, and it may cooperate with conventional remote point-of-sale credit card processing equipment (not shown) to validate credit based purchases through a conventional credit authorization network. Suitable card-based transaction processing systems and methods are available from USA Technologies, Inc., of Malvern, Pa.

Coin acceptor 112, bill validator 114 and change dispenser 118 communicate with currency storage apparatus 120 and may include conventional devices such as Mars models AE-2400, MC5000, TRC200 or CoinCo model 9300-L. Coin acceptor 112 and bill validator 114 can receive and validate currency that is stored by currency storage apparatus 120. Further, a bill validator or coin acceptor may be capable of monitoring stored currency and maintaining a running total of the stored currency, as is discussed with reference to U.S. Pat. No. 4,587,984, entitled COIN TUBE MONITOR MEANS, the entirety of which is incorporated by reference herein. The change dispenser facilitates or activates the return of coinage to the customer where appropriate.

In one embodiment, a payment processing mechanism includes a device that is configured to receive payment authorization and product selection commands through a wireless device communication network, directly or indirectly, from a customer device (e.g. a cellular telephone). In such an embodiment, a payment processing mechanism may comprise a cellular transceiver operatively connected to a processor, as described herein. Systems and methods allowing for the selection of and payment for vending machine articles through cellular telephones are provided by USA Technologies, Inc. Further, in such an embodiment, a customer cellular telephone may serve as an input/output device, as described herein.

Referring now to FIGS. 2 and 3, coin acceptor 112, bill validator 114, magnetic stripe reader 116 and change dispenser 118 communicate with, and are controlled by, processing module 144. Processing module 144 may include network communication port 142 for permitting communication with (i) the previously mentioned components of vending machine 100, a central controller via a network (not shown), and/or (iii) other components or devices. The network communication port 142 may comprise a modem (e.g. a cellular modem or otherwise), a wireless transmitter or transponder (e.g. an infrared transmitter/receiver, a radio transmitter/receiver).

In addition to the elements previously mentioned, processing module 144 may include a central processing unit 126 (also referred to as a “CPU” or “processor”) connected to communication port 142. CPU 126, which may comprise one or more Intel® Pentium® or Centrino™ processors, communicates with random access memory (RAM) 128, read only memory (ROM) 130, clock 132. CPU 126 also communicates with at least one item dispenser 122, at least one price display 124 and storage device 134. Price display 124 may be any display device, preferably a digital display, employing conventional technology such as a light emitting diode (“LED”) display or a liquid crystal display (“LCD”).

The CPU 126 and the storage device 134 may each be, for example: (i) located entirely within a single computer or other computing device; or (ii) connected to each other by a remote communication medium, such as a serial port cable, a LAN, a telephone line, radio frequency transceiver, a fiber optic connection or the like. In some embodiments for example, the vending machine may comprise one or more computers (or processors) that are connected to a remote server computer operative to maintain databases, where the storage device 134 comprises a combination of a remote server computer and associated databases.

Vending machine 100 may includes dispensers, such as the twelve item dispensers 122 and twelve price displays 124, one item dispenser and display corresponding to each product offered for sale by vending machine 100. Any number of item dispensers and any number of price displays may be used, and the number of item dispensers need not equal the number of price displays.

Product inventory storage and item dispensing functions of a vending machine configured in accordance with a snack machine embodiment of the present invention may include one or more of: (i) a drive motor, (ii) metal shelves, (iii) a product delivery system (e.g. a chute, product tray, product tray door, etc.), (iv) dual spiral (i.e. double helix) item dispensing rods, (v) convertible (i.e. extendable) shelves, and/or (vi) a refrigeration unit.

In some embodiments, a vending machine may be housed in a casing of the model 129 SnackShop manufactured by Automatic Products™. In such embodiments, three removable shelves may be employed, together providing for thirty product rows and an inventory capacity of between 185 to 522 commonly vended snack products.

Inventory storage and item dispensing mechanism(s) 122 may comprise one or more of: (i) metal and/or plastic shelving, (ii) item dispensing actuators/motors, (iii) product delivery chutes, and/or (iv) a refrigeration unit. Further details concerning vending machine inventory storage and dispensing mechanisms are well known in the art.

As in many conventional vending machines, item dispenser 122 may be activated by CPU 126 after a customer has purchased item 136, causing item 136 to be transferred to receptacle 140. A customer has access to a purchased item in receptacle 140 via door 138. Purchased item 136 can then be removed by a customer from receptacle 140 through door 138.

As shown in FIGS. 1 and 2, each item dispenser 122 has a corresponding price display 124 that displays information pertaining to item 136 dispensed by item dispenser 122. Typically, price display 124 will display the price of item 136 as determined according to the steps of the present invention. Although vending machine 100, as illustrated, includes a plurality of item dispensers 122 and a plurality of displays 124, this is only one possible embodiment of the many types of vending machines that could employ the present invention. Selecting an appropriate conventional item dispensing mechanism, a single item dispenser 122 could be used to dispense the plurality of items 136. Likewise, a single price display 124 could be used to communicate prices and other information of the plurality of products.

As shown in FIG. 3, storage device 134 stores a database of authorization and price management data, including data represented by an authorization table 400; and a price management table 500.

As will be understood by those skilled in the art, any schematic illustrations and accompanying descriptions of any sample databases and data tables presented herein are exemplary arrangements for stored representations of information. Any number of other arrangements may be employed besides those suggested by the tables shown. Similarly, any illustrated entries of the databases represent exemplary information only; those of ordinary skill in the art will understand that the number and content of the entries can be different from those illustrated herein. Further, despite any depiction of the databases as tables, an object-based model could be used to store and manipulate the data types of the present invention and likewise, object methods or behaviors can be used to implement the processes of the present invention.

Tables 400 and 500 comprise at least a portion of the data stored by storage device 134 and are described more fully with reference to FIGS. 4 and 5, respectively. Storage device 134 further includes instructions for implementing the steps of the present invention. Specifically, storage device 134 includes inventory stocking process instructions 600; post-purchase price evaluation process instructions 700; and periodic price evaluation process instructions 800. Storage device 134 may comprise any appropriate combination of magnetic, optical and/or semiconductor memory, and may include, for example, additional processors, communication ports, Random Access Memory (“RAM”), Read-Only Memory (“ROM”), a magnetic disk drive, a CD-ROM drive, an optical disk drive, a RAM drive and/or any other conventional storage device as would be deemed appropriate by one of ordinary skill in the art.

The vending machine 100 may include or be in communication with a peripheral device. A peripheral device may be a device that obtains (e.g., receives or reads) information from (and/or transmits information to) one or more vending machines. For example, a peripheral device may be operable to obtain information about transactions being conducted at a vending machine, such as the initiation of a transaction, an amount of money deposited for a transaction and/or a product selected during a transaction. For example, a peripheral device may monitor activities carried out by a processor of a vending machine.

In one or more embodiments, one or more such peripheral devices may be in communication with a peripheral device controller (e.g., a server computer). This configuration would allow the peripheral device controller to receive information regarding a plurality of transactions conducted at a plurality of vending machines. The peripheral device controller, in turn, may be in communication with the CPU of a vending machine (or more than one vending machine). It should be understood that any functions described herein as performed by a CPU of a vending machine may alternatively or additionally be performed by a peripheral device and/or a peripheral device controller. Similarly, any data described herein as being stored on or accessed by a storage device of a vending machine may alternatively or additionally be stored on or accessed by a peripheral device and/or a peripheral device controller.

An example of a peripheral device is the e-Port™ by USA Technologies Inc. The e-Port™ is a credit and smart card-accepting unit that controls access to office and MDB vending equipment, and serves as a point of purchase credit card transaction device. The e-Port™ includes an LCD that allows for the display of color graphics, and a touch sensitive input device (touch screen) that allows users to input data to the device. The display may be used to prompt users interactively with, e.g., promotions and information about their transaction status.

A peripheral device may be operable to receive input from customers, receive payment from customers, exchange information with a remotely located server (e.g., a web server, a file server, a peripheral device controller) and/or display messages to customers. A peripheral device may be operable to instruct a vending machine that appropriate payment has been received (e.g., via a credit card read by the separate device) and/or that a particular product should be dispensed by the vending machine. Further, a peripheral device may be operable to instruct the vending machine to execute process steps and/or output messages.

A peripheral device can be useful for enhancing the operation of a conventional vending machine to implement one or more embodiments of the invention. For example, in order to avoid or minimize the necessity of modifying or replacing a program already stored in a memory of a conventional vending machine, an external or internal module that comprises a peripheral device may be inserted in, connected to or associated with the vending machine. For example, a conventional vending machine may be retrofitted with a peripheral device in order to implement one or more embodiments of the present invention.

A peripheral device may include (i) a communications port (e.g., for communicating with one or more vending machines, a peripheral device controller, another peripheral device, a server); (ii) a display (e.g., for displaying graphics and/or text associated with a promotion), (iii) another output means (e.g., a speaker, light, or motion device to communicate with a customer), (iv) a benefit providing means (e.g., a printer and paper dispensing means), and/or (v) an input means.

In one or more embodiments, a peripheral device may direct a vending machine to perform certain functions. For example, a program stored in a memory of peripheral device may cause a processor of a vending machine to perform certain functions. For example, a program stored in a memory of peripheral device may cause a processor of a vending machine to dispense one or more products, dispense a monetary amount, refrain from dispensing a monetary amount, refrain from outputting a product, and/or communicate with another device.

Note that, in one or more embodiments, a vending machine and a peripheral device that is associated with the vending machine may not communicate with one another at all. In some embodiments, however, each may communicate with a computer or other device. For example, if both vending machine and peripheral device are in communication with controller, each may obtain information associated with the other through controller.

In one embodiment, a peripheral device controller and/or a peripheral device may be accessible (directly or indirectly) by a customer or another entity via another computer (which communicates, e.g., over the Internet or another network). Accordingly, a customer or other entity (e.g., an owner of the vending machine) of the other computer could communicate with the peripheral device and/or peripheral device controller 260 via a Web browser. The other computer could, e.g., receive from the peripheral device and/or peripheral device controller messages described herein as being output by the vending machine or peripheral device, and/or transmit to the peripheral device and/or peripheral device controller input described herein as being provided to the vending machine. Similarly, various data described herein as received through an input device of a vending machine and/or peripheral device may be received through a Web browser communicating with the peripheral device and/or peripheral device controller 260, which in turn communicates with the vending machine. Thus, an operator of the vending machine may employ remote polling and reporting capabilities (e.g. remote access to vending machine databases and diagnostics), transmit instructions and/or commands to the vending machine, communicate with vending machine customers of the vending machine (via the vending machine's input and output devices), and the like.

Data Tables

FIG. 4 illustrates the contents of an exemplary authorization table 400 in tabular format. Each record of authorization table 400 includes an operator identifier 402 and an authorization code 404 that defines a valid operator identifier/authorization code pair. Authorization table 400 is utilized to enable only authorized operators to access the price management data stored in storage device 134. Of course, authentication table 400 could also be used for authentication of network control and monitoring signals in accordance with the network configuration more fully described with reference to FIG. 9.

FIGS. 5A, 5B and 5C illustrate the contents of an exemplary price management table 500. Each of the twelve illustrative records 548-570 of price management table 500 represents information pertaining to a specific product and item dispenser. For purposes of illustration, this data is based on a system date of Jul. 1, 1997. Generally, the data stored in price management table 500 falls into three categories: inventory data, shown in FIG. 5A; evaluation data, shown in FIG. 5B; and pricing data, shown in FIG. 5C. Certain data elements may fall into more than one category, as described below.

Generally, the exemplary price management table 500 defines (among other things) products available for sale by the vending machine, prices of the products available for sale, and/or rules which define or are used (exclusively or partially) in defining how to adjust prices. The data illustrated by FIGS. 5A, 5B and 5C reflect certain embodiments of price management data. Those of ordinary skill in the art will readily recognize various modifications to and alternative arrangements for price management data. Specific alternatives to the illustrated price management table 500 are described in detail below. As illustrated in FIGS. 5A, 5B and 5C, each exemplary record in price management table 500 includes a dispenser identifier 510 and a product identifier 512. Dispenser identifier field 510 stores a dispenser identifier that uniquely identifies a corresponding item dispenser 122 of vending machine 100. Product identifier field 512 identifies the product associated with the dispenser identified by field 510. accordingly, in this illustrated embodiment, there can be a one-to-one correspondence between a dispenser and a product, i.e. either field uniquely identifies a record. In other words, each dispenser dispenses only one product, and each product is limited to a single dispenser. Other embodiments, discussed below, do not require that there be a one-to-one correspondence between a dispenser and a product.

In various embodiments, a price management table may be configured to store different information and/or different associations between information than as is illustrated in FIGS. 5A, 5B and 5C. An example of different information would be the storage of data defining a one-to-one correspondence between a dispenser and a product price. Thus, a dispenser could dispense more than one product, in which there can be a one-to-one correspondence between a dispenser and a price of products dispensed by that dispenser. In other words, each dispenser dispenses one or more products that are each sold for the same price. Further, units of the same product could be located in different dispensers, and sold for different prices.

Still another way in which price management data may be stored and managed is described in commonly-owned, co-pending patent application Ser. No. 10/951,296. This application generally describes data input and storage procedures that enable, among other things, a plurality of (possibly) different products, each with their own prices, to be stocked in and dispensed from a single dispenser. By effectively identifying the products' “positions” in a dispenser, the disclosure of this co-pending patent application teaches an alternative way to track products and their prices. For example, rather than defining a quantities of a particular product in a particular dispenser (e.g., as do the fields 514 and/or 516 of FIG. 5A of the present application), in this co-pending patent application each item is considered separately because it can have a price which is independent of (i) the price of other units of the same product, and/or (ii) the price of other units in the same dispenser.

One of ordinary skill will recognize that by distributing the price management data among multiple tables, multiple products could, for example, be offered in a single dispenser, and/or multiple dispensers could, for example, dispense the same product.

The remaining fields shown in FIG. 5A store data generally describing the inventory of vending machine 100. Stocked quantity field 514 stores the number of items that were originally stocked in the dispenser identified by field 510. The contents of this field may be input by an operator during stocking or routine maintenance. Available quantity field 516 contains the number of items currently associated with the dispenser identified by field 510. After stocking or routine maintenance, the contents of field 516 is automatically set equal to the contents of field 514, for each record corresponding to a restocked product. Thereafter, the available quantity is automatically updated by CPU 126 for each associated item sold.

Current price field 518 contains the selling price of the product associated with the item dispenser. Current price field 518 may be populated by the operator during stocking or routine maintenance, and may be determined according to the process steps of the present invention. Exemplary process steps which may be executed to automatically determine a current price are described with reference to FIGS. 6-8B.

FIG. 5B illustrates fields of price management table 500 that define when a price is dynamically evaluated. Stock date field 520 stores the date the dispenser identified by field 510 was most recently stocked. Termination date field 522 contains the last date on which the items of the associated dispenser may be sold. The termination date is entered by an operator during stocking of vending machine 100 and may be a date entered by the operator, the expiration date of the items in the associated dispenser, or another relevant date, such as the next scheduled stocking date.

The next two fields of price management table 500 define shelf times for the product identified by field 512. Total shelf time field 524 defines the maximum allowable shelf time for the product. The contents of field 524 are calculated by CPU 126 based on stock date field 520 and termination date field 522 upon stocking. Remaining shelf time field 526 defines the remaining shelf time of the product and is periodically calculated by CPU 126 based on the system date, and the contents of field 522.

Evaluation frequency field 528 stores a code representing a rule defining the frequency with which the CPU 126 should evaluate the price of the product identified by field 512. Although field 528 only contains a code, the contents of field 528 illustrated in FIG. 5 show the logical representations of the codes. The evaluation rule applicable to a product is generally selected by an operator from a set of rules defined by the vending machine manufacturer. In the examples shown in FIG. 5, evaluation frequency field 528 may store a code representing a rule to evaluate a product price every x purchases or a rule to evaluate a product price every y hours, where x and y are greater than zero.

Of course, the present invention envisions numerous alternative evaluation frequency rules. For example, a rule could be defined to evaluate the price whenever sensor 115 senses a predetermined condition. If sensor 115 is a thermostat, CPU 126 could be programmed to evaluate the price whenever the temperature exceeded a predefined temperature. Other evaluation frequency rules could be implemented to evaluate the price when demand for a product rapidly changes or if at the current demand level items will remain stocked past the termination date in field 522. Further, CPU 126 could be programmed to evaluate prices during periods of low activity, such as during the early morning. In another embodiment, one or more evaluation frequency rules could be defined to evaluate one or more prices based on inventory data. For example, a price could be evaluated when available quantity falls below a threshold amount. More particularly, a price could be evaluated when, based upon current and/or predicted demand, it is estimated that the available quantity of a given product will be zero (i.e. the product will sell out) before the restock date.

Last evaluation date/time field 530 stores a timestamp identifying the time of last sale, and field 532 stores the number of sales of the associated product made since the last price evaluation. These fields are periodically updated by CPU 126, and are periodically accessed by CPU 126 based on the evaluation rule represented by the contents of field 528.

Fields 534-538 define demand-based price evaluation parameters. Previous demand field 534 stores the level of demand as of the last price evaluation. Current demand field stores the current demand level for the product in the dispenser identified by the contents of field 510. CPU 126 periodically calculates the current demand and stores it in field 536. After each evaluation, CPU 126 sets the contents of previous demand field 534 equal to the contents of current demand field 536. Demand increment field 538 defines the incremental difference between the previous demand and the current demand that is required to trigger a price evaluation process. Other types of demand increment data may be employed. For example, a demand increment may be defined with respect to one or more corresponding values of demand, such that at different values/ranges of values of demand, different demand increments are required to trigger a price evaluation process.

FIG. 5C illustrates fields of price management table 500 that are used to calculate the current price stored in field 518. Price adjustment increment field 540 stores the amount by which the price of the product identified by field 512 may be adjusted. Of course, the price of the product identified by field 512 may be adjusted by multiples of the price adjustment increment. Other types of price adjustment increment data may be employed. For example, a price adjustment increment may be defined with respect to one or more corresponding values of price, such that at different values/ranges of values of price, different price adjustment increments are employed to modify a price.

It should be noted that price adjustment increment amounts may be set to amounts relevant to a specific currency. For example, in the United States, a price adjustment increment may be set to a multiple of a desired denomination, so that prices are raised or lowered by an amount that may be conveniently paid for with, e.g., a “nickel” coin, such as the exemplary $0.05 price adjustment increment amount corresponding to record 548 of FIG. 5C. By way of another example, a price adjustment increment may be set so that prices are raised or lowered by an amount that may be conveniently paid for with a “dime” coin, such as the exemplary $0.10 price adjustment increment amount corresponding to record 556 of FIG. 5C. In this manner, prices may be raised and lowered to currency-specific denominations that are relevant in a particular economy.

More particularly, the price adjustment increment may be set to a desired denomination based on the price. For example, a desired denomination may be (i) set to a dime coin when the price is relatively high (e.g., $0.80), and (ii) set to a lesser denomination (e.g., a nickel coin) when the price is relatively low (e.g., $0.50). Thus, the price adjustment may permit greater fluctuations in price when the price is relatively high, but decreasing fluctuations in price when the price is relatively low.

Fields 542-546 define price parameters for the product identified by field 512. The minimum price to be charged for the product is stored in minimum price field 542; the manufacturer's suggested retail price for the product is stored in suggested price field 544; and the maximum price to be charged for the product is stored in maximum price field 546.

The manufacturer's suggested retail price of field 544 may be used as the initial current price after stocking, and/or it may be used as a factor to determine future prices. The minimum price and maximum price fields 542 and 546 are used to prevent the calculated price from falling outside a predetermined range. This financially protects both the vending machine operator and the consumer.

Evaluation Process Steps

Having thus described the system architecture and components of various embodiments, the operation of various embodiments will now be described in greater detail with reference to FIGS. 6A-8B, and continuing reference to FIGS. 1-5C. It is to be understood that the instructions (e.g., embodied in one or more software or firmware “programs”) which may be employed to provide the functionality described herein may be stored, e.g., as software stored in the storage device 134 of the vending machine 100. The instructions may alternatively or additionally be stored in ROM 130. It will also be understood that, although the methods described herein include various steps by way of illustration, various steps are optional and not required in all embodiments of the invention.

The CPU performs instructions (e.g., of the one or more programs), and thereby operates in accordance with the present invention, and particularly in accordance with the various methods described in detail herein. An aspect of the invention may include a computer program developed using an object oriented language that allows the modeling of complex systems with modular objects to create abstractions that are representative of real world, physical objects and their interrelationships. However, it would be understood by one of ordinary skill in the art that the embodiments as described herein can be implemented in many different ways using a wide range of programming techniques as well as general purpose hardware systems or dedicated controllers.

The instructions may be stored in a compressed, uncompiled and/or encrypted format. The instructions furthermore may include program elements that may be generally useful, such as an operating system, a database management system and device drivers for allowing the CPU to interface with computer peripheral devices. Appropriate general purpose program elements are well known to those of ordinary skill in the art.

Further, the instructions are operative to execute a number of invention-specific, objects, modules and/or subroutines, as disclosed herein.

According to some embodiments of the present invention, the instructions may be read into a main memory of the CPU from another computer-readable medium, such from a ROM to a RAM or a flash memory device. Execution of sequences of the instructions can cause the CPU to perform the process steps described herein. In alternate embodiments, hard-wired circuitry or integrated circuits may be used in place of, or in combination with, software instructions for implementation of the processes of various embodiments. Thus, embodiments of the present invention are not limited to any specific combination of hardware, firmware, and/or software.

It should be noted that the term “computer-readable medium” as used herein refers to any medium that participates in providing instructions and/or data to a processor (e.g., the CPU 126) for execution. Such a medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media include, for example, optical or magnetic disks, such as memory. Volatile media include dynamic random access memory (DRAM), which typically constitutes the main memory. Transmission media include coaxial cables, copper wire and fiber optics, including the wires that comprise a system bus coupled to the processor. Transmission media may carry acoustic or light waves, such as those generated during radio frequency (RF) and infrared (IR) data communications. Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, DVD, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, an EPROM, a FLASH-EEPROM, any other memory chip or cartridge, a carrier wave as described hereinafter, or any other medium from which a computer can read. Various forms of computer readable media may be involved in carrying one or more sequences of one or more instructions to a processor for execution.

According to embodiments of the present invention, there are at least three general situations in which it is can be appropriate to determine the price of a product in a vending machine: after stocking, after a sale of an item and after a period of time. FIGS. 6A-6B, FIGS. 7A-7B and FIGS. 8A-8B illustrate the process steps executed by vending machine 100 to determine a price of a product at each of these times, respectively. Nevertheless, the price of a one or more products may be determined at other times, as desired.

Referring now to FIGS. 6A and 6B, process steps that may be executed by vending machine 100 to determine a price of a product after stocking will be described. As shown at step 610, CPU 126 receives a request to update price management table 500. This request indicates that an operator is stocking vending machine 100, and the request includes an operator identifier and authorization code entered by the operator.

At step 612, CPU 126 retrieves a record from authorization table 400 using the received operator identifier as an index. CPU 126 then, as shown at step 614, compares operator identifier and authorization code received at step 610 with the contents of operator identifier field 402 and authorization code field 404 retrieved at step 612, respectively. If the comparison yields a match of the respective data, CPU 126 proceeds to execute step 620, otherwise, CPU 126 denies the operator access to price management table 500.

At step 620, CPU 126 receives input from the operator. The operator inputs a dispenser identifier, a product identifier and relevant portions of the inventory, evaluation and pricing data pertaining to the stocked product and associated dispenser to be stored in price management table 500. The inventory data received from the operator includes a stocked quantity, and a current price. The evaluation data received from the operator includes a termination date, an evaluation frequency and a demand increment. The pricing data received from the operator includes a price adjustment increment, a minimum price, a suggested price and a maximum price. The data received from the operator is stored by CPU 126 in the appropriate fields of price management table 500. Of course, receiving data for one or more of these fields from the operator may be optional as CPU 126 could supply default values for certain fields. In addition, the data for one or more of these fields could be automatically received from a remote source using the network configuration illustrated in FIG. 9 or from an attached bar code reader (not shown) such as the U.P.C. scanners attached to the vending machines (e.g., a scanner such as one manufactured by Automatic Vending America, Inc.)

At step 622, CPU 126 calculates the remaining price management data to be stored in price management inventory table 500. Specifically, CPU 126 calculates the total shelf time, remaining shelf time and current price for the associated product. Although, the current price may be input by the operator, the current price would preferably be set equal to the manufacturer's suggested price stored in field 544, or to another predefined default price. Of course, in an alternate embodiment, the current price could be determined in accordance with the price evaluations described below with reference to, e.g., the post-purchase evaluation process and/or the periodic evaluation process.

At step 624, the stocking process concludes with the step of adjusting the price display 124 corresponding to item dispensers 122 dispensing the associated product. The price displays 124 are adjusted to display the price determined at step 620.

One of ordinary skill in the art would readily understand various alternatives to the stocking process described above. For example, alternative processes and additional steps to the processes described herein are described in commonly-owned, co-pending U.S. patent application Ser. No. 10/951,296.

Referring now to FIGS. 7A, 7B and 7C, process steps that may be executed by vending machine 100 to determine a price of a product after a sale of an item will be described. At step 710, CPU 126 receives a customer request to purchase an item. In accordance with vending machine 100, the request includes an indication of payment and a dispenser identifier. In other embodiments, the request may include a product identifier instead of the dispenser identifier. CPU 126 then uses the received dispenser identifier to retrieve the relevant record from price management table 500, as shown at step 712. Based on the contents of field 516, a determination is made at step 714 whether sufficient inventory is available to honor the request. If there is not sufficient inventory, CPU 126 processes step 716 and causes change dispenser 118 to return any inserted payment, and the transaction is terminated. If vending machine 100 holds sufficient inventory to honor the request, CPU 126 processes step 718 and activates item dispenser 122 corresponding to the dispenser identifier received at step 710.

At step 722, CPU 126 updates the price management data pertaining to the product selected by the customer and stores the updated data in price management table 500. The step of updating includes the step of decrementing the contents of available quantity field 516, incrementing the contents of field 532 to reflect the sale and updating the contents of current demand field 536. At step 724, a determination is made whether the necessary events have occurred to require a price evaluation for the selected product. In the present embodiment, this step includes comparing the parameter identified by evaluation frequency field 528 to either last evaluation date/time field 530 or sales since last evaluation field 532. If it is time to evaluate the price of the selected product, CPU processes step 726.

At step 726, CPU 126 calculates the change in demand for the specified product and at step 728 compares the calculated change in demand to the demand increment data stored in field 538. If the demand for the specified product has changed by at least the demand increment stored in field 538, CPU 126 processes step 730 and determines a new current price for the specified product. One of many preferred formulas that can be used to determine a new current price is: P _(nc) =P _(current) ±P _(increment) where:

-   -   P_(nc) represents the new current price;     -   P_(current) represents the current price stored in field 518;         and     -   P_(increment) represents the price increment stored in field         540.

If the demand for the product has increased, the new current price equals the contents of current price field 518 plus the contents of price adjustment field 540. If the demand for the product has decreased, the new current price equals the contents of current price field 518 less the contents of price adjustment field 540. At step 732, CPU 126 verifies that the new current price falls within the range of acceptable prices as defined by minimum price field 542 and maximum price field 546.

If the new current price is within the acceptable range, current price field 518 is updated to reflect the new current price as shown at step 734. It is important to note that although a specific price determination formula has been described herein, the method and apparatus of the present invention is intended to work with many different price determination formulas applicable to product pricing. Various formulas may easily be implemented by one of ordinary skill in the art with minor design variations. Finally, at step 736, CPU 126 updates the price display 124 associated with subject item dispenser to reflect the new current price of the product.

Referring now to FIGS. 8A and 8B, a flow chart is presented illustrating exemplary process steps that may be executed to determine the price of a product during a periodic price evaluation. The process steps of FIGS. 8A and 8B are described herein with respect to a single product. It is envisioned that these steps can be repeated for some or all of the products represented in price management table 500.

At step 810, CPU 126 begins the periodic price evaluation process by retrieving a record associated with a specified product from price management table 500. At step 812, CPU 126 accesses the contents of evaluation frequency field 528 to determine if the price evaluation frequency is based on time, as shown at step 814. If the evaluation of the product's price is not based on time, the process ends. Otherwise, the process proceeds to step 816. In an alternate embodiment, step 814 may include determining whether the quantity of the product is non-zero. If the quantity of the product is zero, CPU 126 would terminate the process to avoid evaluating the price of an unavailable product.

At step 816, CPU 126 determines the time elapsed since the price of the product was last evaluated. This is accomplished by retrieving the system date and time from clock 132 and comparing the system date and time to the date and time stored in last evaluation date/time field 530. At step 818, the result is compared to the evaluation frequency parameter indicated by field 528. If sufficient time has elapsed, the process proceeds with step 822. Otherwise, the process ends.

At step 822, CPU 126 calculates the change in demand for the specified product and compares the calculated change in demand to the demand increment data stored in field 538. If the demand for the specified product has changed by at least the demand increment stored in field 538, CPU 126 processes step 826 and determines a new current price for the specified product. One possible formula that can be used to determine a new current price is: P _(nc)=[(ST _(remain) /ST _(total))×(P _(maximum) −P _(minimum))]+P _(minimum) where:

-   -   P_(nc) represents the new current price;     -   ST_(remain) represents the remaining shelf time stored in field         526;     -   ST_(total) represents the total shelf time stored in field 524;     -   P_(maximum) represents the maximum price stored in field 542;         and     -   P_(minimum) represents the minimum price stored in field 546.

This particular formula generally determines the new current price based on the remaining shelf life and the maximum and minimum price boundaries. In this embodiment, the calculated price may be rounded to the nearest price adjustment increment indicated in field 540. At step 830, current price field 518 is updated to reflect the new current price as shown at step 830. Finally, at step 832 CPU 126 updates the price display associated with subject item dispenser to reflect the new current price of the product.

In other embodiments, the new current price may be determined based on the demand for the product, and/or the demand for the product relative to the demands of other products (e.g., the other products sold by the vending machine, the other products sold by the vending machine that are of the same type as the product). Such a demand-based formula (as well as other formulas) may also determine the new current price based also on the maximum and minimum price boundaries. For example, one possible formula that can be used to determine a new current price is: P _(nc)=[(D _(current) /D _(maximum))×(P _(maximum) −P _(minimum))]+P _(minimum) where:

-   -   P_(nc) represents the new current price;     -   D_(current) represents the current demand for the product (e.g.,         units sold/hour);     -   D_(maximum) represents the maximum, or highest permitted, demand         for the product (e.g., units sold/hour);     -   P_(maximum) represents the maximum price stored in field 542;         and     -   P_(minimum) represents the minimum price stored in field 546.

Thus, for example, the D_(maximum) could be a predefined amount (e.g., ten units sold per hour), and D_(current), when determined, could be restricted to being no greater than D_(maximum). If D_(current) were determined to be greater than D_(maximum) then D_(current) could be set to D_(maximum). This would permit the price for products having a demand of D_(maximum) or greater to be set to the maximum price.

In another embodiment, the new current price is set based on the current demand and the current inventory amount of the product. For example, a product with a relatively high demand may be priced relatively high, and a product with a relatively low inventory amount may be priced relatively high. Employing these principles in combination, a product may be priced as follows P _(nc)=[(D _(current) /D _(maximum))×(I _(current) /I _(maximum))×(P _(maximum) −P _(minimum))]+P _(minimum) where:

-   -   P_(nc) represents the new current price;     -   D_(current) represents the current demand for the product (e.g.,         units sold/hour);     -   D_(maximum) represents the maximum, or highest permitted, demand         for the product (e.g., units sold/hour);     -   I_(current) represents the current inventory amount for the         product (e.g., units remaining);     -   I_(maximum) represents the maximum, or highest permitted,         inventory amount for the product (e.g., units which may be         stocked in a particular product row, units which may be stocked         in the vending machine, or units which were originally stocked);     -   P_(maximum) represents the maximum price stored in field 542;         and     -   P_(minimum) represents the minimum price stored in field 546.

Although the exemplary formulas described above are linear equations of various variables, those of skill in the art will understand that many types of non-linear formulas may be employed and/or many other variables may be employed, in various combinations.

Further, different mechanisms for determining the new current price may be used instead of or in addition to formulas. For example, a table may be used to associate values or ranges of values of one or more variables with a new current price, or a change in the current price. For example, a table may define, for each of a plurality of prices or ranges of prices, fields for demand, inventory amount. The fields may in turn define a value or range of values (e.g., for demand). In addition, a table may be used for one or more products, and thus one or more tables may be used for one or more products sold by a vending machine.

Still further mechanisms may be used for determining the new current price instead of or in addition to formulas and/or tables. For example, an adaptive algorithm (e.g., employing a neural network algorithm, a genetic algorithm) may be used to associate variables and prices. Such adaptive algorithms generally employ a fitness function (e.g., sales rate, sales amount, profitability, profit/time, profit per stocking period) to determine the effectiveness of a selected set of variables and a selected set of methods for processing those variables in determining prices of products. In one embodiment, an adaptive algorithm may be used to adjust weighting variables applied to formulas. In one embodiment, an adaptive algorithm may be used to adjust values or ranges of values of fields in a table.

Referring back to FIGS. 5A-5C, the contents of record 562 illustrates the result of the example process 800. As shown by field 512, record 550 is associated with a dispenser stocked with cola. According to field 526, the remaining shelf time for the cola in inventory is 62 days, while the total shelf time stored in field 524 is 70 days. The maximum price for cola, stored in field 546, is $1.15, and the minimum price is $0.35, as shown by field 542. To calculate the selling price of cola according to the present embodiment, CPU 126 applies the formula described above: P _(nc)=[(ST _(remain) /ST _(total))×(P _(maximum) −P _(minimum))]+P _(minimum) P _(nc)=[(62/70)×($1.15−$0.35)]+$0.35 P_(nc)=$1.0586 Rounding the result to the nearest price adjustment increment stored in field 540, the selling price is $1.05.

As described, the price evaluation formulas discussed with reference to FIGS. 7A-7C and 8A-8B rely on data collected and stored in price management table 500. The present invention may employ other factors in place of or in addition to stored data to determine a current selling price. In particular, output from sensor 115 may be used to determine the price of a product. For example, in the case where sensor 115 is a thermometer, a price calculation could be employed that increases the price of a soft drink as the external temperature increases (e.g., by increasing the amount of a price determined by a formula, by a table). Alternatively, the price of hot chocolate could increase as the external temperature decreases. Various products may be associated (e.g., through data stored in a table) with a value that correlates the change (both in magnitude and direction) in a measurement (e.g., temperature) to a change in the price of that product.

Referring now to FIG. 9, a network is shown to illustrate an alternate embodiment of the present invention. Price management server 900 and a plurality of vending machines 100, 910, 912 and 914 (collectively, the “nodes”) preferably transmit digitally encoded data and other information between one another. Any number of vending machines may be in communication with the server 900. The communication links between the nodes and price management server 900 preferably comprise a cable, fiber or wireless link on which electronic signals can propagate. For example, each node may be connected via an Internet connection (e.g., by using a public switched telephone network (PSTN), such as those provided by a local or regional telephone operating company). Alternatively, each node may be connected by dedicated data lines, cellular, Personal Communication Systems (“PCS”), microwave, optical or satellite networks. Possible communications protocols that may be employed in communications include: Ethernet (or IEEE 802.3), SAP, ATP, Bluetooth™, and TCP/IP.

In this configuration, the previously described functionality provided by processing module 144 (i.e. inventory management and dynamic price adjustment) can be remotely performed by price management server 900. The resulting price adjustments are transmitted from price management server 900 to each of the plurality of vending machines.

Conventional cryptographic techniques may be employed to ensure the authenticity of remote data received by the nodes. Further, authentication table 400, or a functional equivalent, may be employed at price management server 900, the node or both.

In one embodiment, a price of one or more products may be reduced in price increments, but increases to the price may be to one (or more) default prices. For example, the price of a product may be incrementally reduced (e.g., by increments of $0.10) if demand falls below a predetermined threshold within a given period of time (e.g., less than 1 unit sold per hour during the last three hours), but prices may be raised only to, e.g., a single, default price (e.g., the retail price) if demand surpasses a predetermined threshold within a given period of time (e.g., more than 5 items per hour during the last two hours). That is, where price increases are appropriate because demand has met or surpassed a given threshold, such as the threshold illustrated by the demand increment of field 538 of FIG. 5B, prices may be increased only to a default retail price, rather than by adding a price adjustment increment, such as the increments illustrated in field 540 of FIG. 5C, to the product's current price.

In such an embodiment, a given product may be assigned price management rules in a Price Management Table such as that illustrated by FIGS. 5A-C. For example, if demand for a given product is reduced by 10%, the price management rules may provide that the price should be reduced by $0.05. However, the price management rules may provide that if demand subsequently increases by 10%, the price should be set to $0.50—a price which may correspond to the manufacturer's suggested retail price stored in field 544 of FIG. 5C. As with other price management embodiments discussed herein, a price management process may be executed after a customer has purchased an item, periodically (e.g. every 24 hours), substantially continuously or otherwise as described herein.

In various embodiments the price may be raised to the default price for reasons other than a sufficient demand. In general, many examples have been provided herein in which an increase in price is appropriate, and such situations may be employed to raise the price to a default price. For example, the price may be raised to the default price (i) based on the inventory level (e.g., less than two units of the product remain), (ii) based on the inventory level and the demand (e.g., demand is greater than a first predetermined threshold and inventory level is less than a second predetermined threshold), (iii) at certain times (e.g., during “lunch hour”, during weekdays between 8 Am and 11 AM), (iv) upon receiving a command or signal (e.g., from an operator who locally or remotely administers such a signal/command).

In some consumer markets, an embodiment in which the price may be raised to only one (or more) default prices can be advantageous. For example, such an embodiment may provide a convenient, palatable and understandable way to communicate price changes to consumers. Specifically, because prices in such an embodiment are not incrementally raised, but are rather raised to a fixed, predetermined retail price, consumers may perceive that vending machine merchandise may be available either (i) at an advertised retail price, or (ii) at a discount price. The consumer may thus perceive that any increase is price is simply a return to the normal retail price (e.g. the manufacturer's suggested retail price) through the elimination of a munificent discount, rather than a “price hike” or opportunistic “price gouging”. Thus, consumer dissatisfaction can be reduced or eliminated in employing such an embodiment.

To further enhance the message that the vending machine merchandise may be available either (i) at an advertised retail price, or (ii) at a discount price, the vending machine may display (e.g., on a video display, on a numerical indicator adjacent to a product's price indicator) the “discount amount” (the amount by which the current “discounted” price is less than the advertised retail price). For example, if the retail price of a product is $0.80, and the current (discounted) price is $0.70, the discount amount is $0.10, and this discount amount can be displayed to the customer.

In addition to or instead of displaying a discount amount, the vending machine may display an indicator which indicates, e.g., that a discounted price is in effect, or than a significant discount amount exists. For example, a red LED adjacent to a product may illuminate (i) when the price of that product is less than the corresponding retail price, (ii) when the discount amount of that product is greater than a predetermined amount (e.g., greater than $0.10), and/or (iii) when the price of that product is less than the a predetermined threshold (e.g., when the price is less than half of the retail price).

In one embodiment, the above-described methods for adjusting a price may be employed in adjusting a value which is based on a price and/or a proxy for a price (“price substitute”). For example, one or more products may have an amount of points, or have a price category, in addition to or instead of having a price. Any or all of the products for sale by the vending machine may include a price substitute. Further, products which include a price substitute may cease including a price substitute independent of whether other products cease or commence including a price substitute. Similarly, products which do not include a price substitute may commence including a price substitute independent of whether other products cease or commence including a price substitute.

A price category that a product includes may be a selected one of a plurality of enumerated categories (e.g., one of “low value”, “medium value” and “high value” categories). Categories may be mutually exclusive (a product cannot belong to more than one category), or may overlap (a product may belong to more than one category).

The value of the price substitute of a product may be determined based on the price of the product. For example, in an embodiment where a product includes a price category (e.g., includes one of “low value”, “medium value” and “high value” categories), the category may be determined based on the price of the product.

The determination of value of the price substitute based on price may be made using many methodologies. Further, the determination may be based on price, or based on prices relative to other prices.

For example, a table may define ranges of prices and corresponding price categories. Alternatively, a table may define the ordinal position of a product (when ordered by price) and corresponding price categories. In other words, a first price category could be associated with, e.g., the five highest-priced products, while a second price category could be associated with, e.g., the three lowest-priced products.

The assignment of products to product categories can generally be advantageous, as described in co-pending U.S. patent application Ser. No. 10/902,397 entitled “PRODUCTS AND PROCESSES FOR VENDING A PLURALITY OF PRODUCTS”, filed Jul. 29, 2004. Further, the assignment of products to product categories can generally be advantageous in embodiments, as described in co-pending U.S. Provisional Patent Application No. 60/527,988 entitled “APPARATUS, SYSTEM AND METHOD FOR ESTABLISHING MULTI-TRANSACTION RELATIONSHIPS WITH VENDING MACHINE CUSTOMERS”, filed Dec. 9, 2003.

Rather than translating a price to a price substitute, a price management data may include other data which is manipulated to yield a price substitute. For example, a price management table may define, for one or more products, an amount of points, point adjustment increment, minimum amount of points, suggested amount of points and/or maximum amount of points. Such data regarding points may be readily employed and manipulated as describe above in conjunction with the employment of prices, price adjustment increment, minimum price, suggested price and/or maximum price.

Other methodologies of determining a value of a price substitute based on price will be readily recognized by one of ordinary skill in the art based on he present disclosure.

In general, it can be advantageous to display an indication of the price substitute of a product. For example, one or more LEDs may be employed to display, e.g., a price category that a product includes (e.g., illuminating either a red or green LED to denote either a first or second category respectively). As another example, a single LED, when illuminated, may indicate that a product (or more than one product) is/is not included in a price category. Note that the price need not be displayed, even if a product includes a price.

In one embodiment, the price substitute which is adjusted indicates the acceptability of a particular coupon, of a plurality of particular coupons, or of coupons in general by or at the vending machine. For example, in periods of relatively high demand or a particular product, it may be undesirable to accept coupons for that product, since that product is likely to sell even without the added incentive of a coupon (particularly a coupon for a reduced price). Accordingly, the acceptability of coupons can be made to be related to or correlated with relatively low demand. For example, coupons for a certain product may only be accepted when demand for that product is less than a threshold demand amount.

Coupon-related embodiments may employ price categories. For example, a first price category may indicate that coupons may be redeemed for the corresponding product, while a second category indicates that coupons may not be redeemed for the corresponding product. As another example, coupon categories can reflect the value of coupons. For example, a discount value of a coupon (i.e. the amount by which the price of a product is reduced upon redeeming that coupon) may be enhanced or multiplied in accordance with price categories. In one embodiment, price categories could define that a coupon define a “face value discount amount” “double face value discount amount”, or “triple face value discount amount”. Thus, depending on the price category a product includes at a particular time, the redemption of a coupon with a face value discount amount of $0.10 could result in a reduction in price of $0.10, $0.20 or $0.30.

As described above, it can be advantageous to display an indication of the price substitute of a product. For example, a video display could indicate via text and/or graphics that coupons may be redeemed for any product in the vending machine, or for certain products in the machine.

Coupons can be made available by in various known manners. For example, coupons may be paper coupons provided by the vending machine or by other means. Coupons may also take the form of an “electronic coupon”, such as an indication of a numeric or alphanumeric code which may be read by or received by the vending machine.

Coupons may be read by employing various well-known means, such as by a vending machine peripheral device which accepts paper coupons in much the same manner as a bill or currency acceptor accepts paper currency. Such a peripheral may, alone or in combination with other devices, read data on the coupon, such as by reading a bar code on the coupon with a bar code scanner, or by otherwise reading optical information on the coupon using a laser scanner or other like technology. Similarly, in an embodiment where the code is a numeric or alphanumeric code, a vending machine peripheral such as a keypad or touch screen may allow the user to enter the code manually. In another embodiment, a code may be received via digital communication network, such as a transmission via a Web Browser or cellular telephone over the Internet.

While the best mode for carrying out the invention has been described in detail, those familiar with the art to which the invention relates will recognize various alternative designs and embodiments for practicing the invention. These alternative embodiments are within the scope of the present invention. 

1. A method comprising: determining a current price of a product for sale by a vending machine; determining demand data of the product; determining, based on the demand data, a new price of the product, in which the new price is determined to be one of (i) the current price; (ii) an amount less than the current price, and (iii) a predetermined price if the new price is greater than the current price.
 2. The method of claim 1, in which determining demand data of the product, and determining, based on the demand data, a new price of the product comprises: determining first demand data of the product; determining, based on the first demand data, a first new price of the product, in which the new price is an amount less than the current price; and then determining second demand data of the product; and then determining, based on the second demand data, a second new price of the product, in which the new price is the predetermined price.
 3. The method of claim 1, in which determining demand data of the product comprises: determining a rate of units of the product that are sold.
 4. The method of claim 3, in which determining demand data of the product comprises: determining a rate of units of the product that are sold during a particular period of time.
 5. The method of claim 1, in which determining, based on the demand data, a new price of the product comprises: determining, based on the demand data and on supply data, a new price of the product.
 6. The method of claim 5, in which determining, based on the demand data and on supply data, a new price of the product comprises: determining, based on the demand data and on a number of units of the product available for sale, a new price of the product.
 7. The method of claim 1, in which determining, based on the demand data, a new price of the product, comprises: determining, based on the demand data, whether the new price should be greater than the current price; and setting the new price to the predetermined price if the new price should be greater than the current price.
 8. The method of claim 1, in which determining, based on the demand data, a new price of the product, comprises: determining, based on the demand data, whether the new price should be less than the current price; and subtracting a price increment amount from the current price if the new price should be less than the current price.
 9. The method of claim 8, further comprising: determining a price increment amount for the product.
 10. The method of claim 9, further comprising: determining, from a table of products and corresponding price increments, a price increment amount for the product.
 11. The method of claim 1, further comprising: displaying the determined new price.
 12. The method of claim 1, further comprising: displaying an indication that is based on the predetermined price and the current price.
 13. The method of claim 12, in which displaying an indication that is based on the predetermined price and the current price comprises: displaying a difference between the predetermined price and the current price.
 14. A method comprising: determining a current price of a product for sale by a vending machine; determining a rate of units of the product that are sold; determining, based on the rate, whether the new price should be greater than or less than the current price; setting the new price to a predetermined price if the new price should be greater than the current price; subtracting a price increment amount from the current price to yield the new price if the new price should be less than the current price; and displaying the determined new price.
 15. The method of claim 14, further comprising: displaying an indication that is based on the predetermined price and the current price.
 16. The method of claim 15, in which displaying an indication that is based on the predetermined price and the current price comprises: displaying a difference between the predetermined price and the current price.
 17. A method comprising: determining a current price of a product for sale by a vending machine; determining, for the product, a price increment, a predetermined price, and a demand threshold that are defined by data stored in at least one data table; determining a rate of units of the product that are sold by calculating a number of units sold during a predetermined period of time; comparing the rate with the demand threshold; determining, based on the comparison of the rate with the demand data, whether the new price should be greater than or less than the current price; setting the new price to the predetermined price if the new price should be greater than the current price; subtracting a price increment amount from the current price to yield the new price if the new price should be less than the current price; and displaying the determined new price.
 18. The method of claim 17, in which the demand threshold defines a range of demand.
 19. The method of claim 18, in which the demand threshold defines an upper demand threshold and a lower demand threshold.
 20. The method of claim 19, in which comparing the rate with the demand threshold comprises: determining whether the rate is greater than the upper demand threshold.
 21. The method of claim 18, in which comparing the rate with the demand threshold comprises: determining whether the rate is less than the lower demand threshold. 